// [[ OnflowGenerator File UUID: deba6dc0e9b14616add3833514780e99  ]]
package com.itdct.onflow.system.log.qo

import com.itdct.onflow.core.qo.BaseQo
import com.itdct.onflow.core.type.Add
import com.itdct.onflow.core.type.Update
import io.swagger.v3.oas.annotations.media.Schema
import jakarta.validation.constraints.NotBlank
import jakarta.validation.constraints.NotNull
import org.hibernate.validator.constraints.Length
import java.util.*

/**
 * @author DCTANT
 * @date 2025-09-22 16:17:05
 * @version 1.0
 * @description 系统登录日志编辑入参
 */
@Schema(name = "系统登录日志编辑入参", description = "系统登录日志编辑入参")
class SysLoginLogEditQo : BaseQo() {
    // [[ OnflowGenerator Range (- fields -) Start ]]
    @Schema(title = "账号id", example = "")
    @NotNull(message = "请输入账号id", groups = [Add::class, Update::class])
    var accountId: Long? = null

    @Schema(title = "登录时间", example = "")
    @NotNull(message = "请输入登录时间", groups = [Add::class, Update::class])
    var loginTime: Date? = null

    @Schema(title = "登录结果", example = "")
    @NotNull(message = "请输入登录结果", groups = [Add::class, Update::class])
    var result: Int? = null

    @Schema(title = "平台类型", example = "")
    @NotBlank(message = "请输入平台类型", groups = [Add::class, Update::class])
    @Length(max = 100, message = "平台类型不能超过100个字符", groups = [Add::class, Update::class])
    var platformType: String? = null

    @Schema(title = "登录失败原因", example = "")
    @NotBlank(message = "请输入登录失败原因", groups = [Add::class, Update::class])
    @Length(max = 200, message = "登录失败原因不能超过200个字符", groups = [Add::class, Update::class])
    var failReason: String? = null

    @Schema(title = "登录IP地址", example = "")
    @Length(max = 60, message = "登录IP地址不能超过60个字符", groups = [Add::class, Update::class])
    var ipAddress: String? = null

// [[ OnflowGenerator Range (- fields -) End ]]
}